package com.lihua.project.taskcenter.core.match;

import com.lihua.project.taskcenter.taskcenter.domain.Task;

import java.util.List;

/**
 * @author lihua
 * @date 2022/3/18 15:27
 * 默认任务匹配规则
 * km算法是什么：https://baijiahao.baidu.com/s?id=1727253194467213409&wfr=spider&for=pc
 * 匹配策略：对任务进行打分，有一个标签相同打10分，任务匹配时间没等待1小时+1分（也就是当任务匹配越久，分数会逐渐变大，防止一直匹配不到）
 */
public interface ITaskMatchRule {
    /**
     * 根据传入的任务列表，匹配出两个相似的任务
     * @param tasks 需要匹配的任务列表
     * @return 返回匹配成功的两个任务
     *
     */
    void matching(List<Task> tasks);
}
